package com.irain.pp.tool.api.data;


import java.io.Serializable;
import java.util.Date;

/**
 * 实体类需要实现的接口
 * @author WangYanPeng
 * @date 2017/10/17 10:17
 */
public interface DataObject extends Serializable{

    String ID = "id";
    String GMT_CREATED = "gmtCreated";
    String GMT_MODIFIED = "gmtModified";

    /**
     * 获取主键
     * @return 主键值
     */
    Long getId();

    /**
     * 设置主键
     * @param id 主键值
     */
    void setId(Long id);

    /**
     *  获取创建时间
     * @return 创建时间
     */
    Date getGmtCreated();

    /**
     * 设置创建时间
     * @param gmtCreated 创建时间
     */
    void setGmtCreated(Date gmtCreated);

    /**
     * 获取更新时间
     * @return 更新时间
     */
    default Date getGmtModified(){return null;}

    /**
     * 设置更新时间
     * @param gmtModified 更新时间
     */
    default void setGmtModified(Date gmtModified){}

}
